package com.treasure.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TUserInfoDto implements Serializable {

    private static final long serialVersionUID = 5586686373615386516L;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户微信opendid
     */
    private String openId;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 微信昵称
     */
    private String wNickname;

    /**
     * 自定义头像
     */
    private String headimgurl;

    /**
     * 微信头像
     */
    private String wHeadimgurl;

    /**
     * 登录密码
     */
    private String loginPassword;

    /**
     * 支付密码
     */
    private String payPassword;

    /**
     * 手机号
     */
    private String phonenumber;

    /**
     * 证件类型
     */
    private String idType;

    /**
     * 身份证
     */
    private String cardNumber;

    /**
     * 姓名
     */
    private String cardName;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 注册时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date joinTime;

    /**
     * 最近一次登录时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastLoginTime;

    /**
     * 邀请码
     */
    private String inviteCode;

    /**
     * 是否实名认证
     */
    private Boolean isAuthName;

    /**
     * 是否绑定银行卡
     */
    private Boolean isBindingBankcard;

    /**
     * 是否设置支付密码
     */
    private Boolean isSetPayPwd;

    /**
     * 是否绑定邮箱
     */
    private Boolean isBindingEmail;

    /**
     * 密码强度(弱、中、强)
     */
    private Byte loginPasswordComplex;

    /**
     * 实名认证时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 自己的邀请码
     */
    private String selfInviteCode;

    /**
     * 推荐码二维码打开地址
     */
    private String qrCodeUrl;

    /**
     * 用户状态：1正常，2禁用，3注销，4黑名单
     */
    private Integer status;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 绑卡时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bindingTime;

    /**
     * 是否关注 0-取消关注 1-已关注
     */
    private Integer isAttention;
    /**
     * 是否开通会员 0-未开通 1-已开通
     */
    private Integer isMember;


    /**
     * 财富值
     */
    private Long wealthValue;

    /**
     * 会员等级：'0-普通用户 1:会员  2:创业者 3:创业家',
     */
    private Integer grade;

    private String unionid;
    /**
     * 平台类型(1-web 2-wechat 3-Android 4-ios 5-wap)
     */
    private Integer platform;

}